method of separation of variables partial differential equations